<?php
class mysql{

	/*
	*报错函数
	*
	*@param string $error
	*/
	function err($error){
		die('对不起，你的操作有误，错误原因为：'.$error);//die=输出+终止=echo+exit
	}

	/*
	*
	*连接数据库
	*
	*@paran sting $config 配置数组 array($dbuser, $dbpsw, $dbname, $dbcharst)
	*@return bool 连接数据库/不成功
	*/
	function connect($config){
		extract($config);
		if(!($con = mysql_connect($dbhost,$dbuser,$dbpsw))){//mysql_connect连接数据库函数
			$this->err(mysql_error());
		}
		if(!mysql_select_db($dbname,$con)){//mysql_select_db选择库的函数
			$this->err(mysql_error());
		}
		mysql_query('set names '.$dbcharset);//设置字符集
	}

	/*
	*执行sql语句
	*
	*@param string $sql
	*@return bool 返回执行成功+资源/失败
	*/
	function query($sql){
		if(!($query = mysql_query($sql))){//使用mysql_query函数执行sql语句
			$this->err($sql.'<br/>'.mysql_error());//mysql_error报错
		}else{
			return $query;
		}
	}

	/*
	*列表
	*
	*@param sourct $query sql语句通过mysql_query执行出来的资源
	*@return array 返回列表数组
	*/
	function findAll($query){
		while ($rs = mysql_fetch_array($query,MYSQL_ASSOC)) {//mysql_fetch_array资源转数组，一次一行
			$list[]=$rs;
		}
		return isset($list)?$list:'';
	}

	/*
	*单条
	*
	*@param source $query sql语句通过mysql_query执行出来的资源
	*@return array 返回单条信息数组
	*/

	function findOne($query){
		$rs = mysql_fetch_array($query,MYSQL_ASSOC);
		return $rs;
	}

	/*
	*指定行的指定字段的值
	*
	*@param source $query sql语句通过mysql_query执行出来的资源
	*@return array 指定行的指定字段的值
	*/
	function findResult($query,$row=0,$find=0){
		$rs = mysql_result($query,$row,$find);
		return $rs;
	}

	/*
	*添加函数
	*
	*@param sting $table 表名
	*@param array $arr 添加数组（字段+值得一位数组）
	*/
	function insert($table,$arr){
		//$sql = "insert into 表名(多字段) values(多值)"
		foreach ($arr as $key => $value) {
			$value = mysql_real_escape_string($value);
			$keyArr[] = "`".$key."`";//$arr数组键名=$keyArr数组
			$valueArr[] = "'".$value."'";
		}
		$keys = implode(",", $keyArr);//implode=数组变字符串 implode（分隔符，数组）
		$values = implode(",", $valueArr);
		$sql = "insert ".$table."(".$keys.") values(".$values.")";//sl插入语句 insert into 表(多字段)values(多值)
		$this->query($sql);//掉类自身query(执行)方法执行这条sql语句 
		return mysql_insert_id();
	}

	/*
	*修改函数
	*
	*@param sting $table 表名
	*@param array $arr 修改数组（字段+值得一位数组）
	*@param sting $where 条件
	*/
	function update($table,$arr,$where){
		//upsate 表名 set字段=字段值where。。。
		foreach ($arr as $key => $value) {
			$value = mysql_real_escape_string($value);
			$keyAndvalueArr[] = "`".$key."`='".$value."'";
		}
		$keyAndvalueArr = implode(",", $keyAndvalueArr);
		$sql = "update ".$table." set ".$keyAndvalueArr." where ".$where;//修改操作update 表名set字段= 值where条件
		$this->query($sql);
	}

	/*
	*删除函数
	*
	*@param sting $table 表名
	*@param sting $where 条件
	*/
	function del($table,$where){
		$sql = "delete from ".$table." where ".$where;//删除sql语句 格式：salete from表名 where条件
		$this->query($sql);
	}
}
?>